import csv
import pandas as pd
def check_keywords(text, keywords):
    found_keywords = []
    for keyword in keywords:
        if keyword.lower() in text:
            found_keywords.append(keyword)
    return found_keywords


def main():
    #违规使用绝对化用语
    keywords1 = [
    "极致", "独有", "全网首发", "最适合", "最显", "顶级", "最时尚", "最佳", "最贴心",
    "独家", "最新", "最佳", "最平易近人", "最舒心", "之王最舒适", "最大限度", "唯一", "最保温",
    "最爱", "极品", "最为方便", "最好", "首选", "最流行", "最独特", "最为广泛",
    "最大", "最天然", "最性感", "最好的 最舒适", "最美时尚", "最杰出", "杀菌", "最热销",
    "最大程度", "最新", "首选 独家", "最钟爱",
    "最强","顶级", "最直观", "最原始", "最优良 最优质", "第一 独家", "最畅销", "最周全",
    "最合理", "独有的", "最美", "最健康","最贴心",  
    "最温柔", "最大众", "最低", "最悠久", "最合适", "最常用", "最简单",
    "最细心", "最便捷", "最好的 ","最柔软的", "最纯净最天然", "最专业", "最合理",
    "杀死或者抑制病毒", "最薄", "最值得信赖", "最为常见", "最佳 ", "促进腕部血液循环",
    "最舒适","最温和", "最优良", "最温和","活化肌肤", "最感兴趣", "最具有发展前景", "最贴心","最为完善", "最佳",
    "最舒适", "顶尖", "第一", "最大","最新", "最先进", "独一无二", "独有", "最新", "最严格",
    "极至", "最好的", "最环保", "最佳",
    "最近", "最新鲜", "最安全", "最省力", "最优质", "第一线", "最接近", "最逼真", "最满意",
    "最简洁 最明朗 最低", "最严谨", "之首", "独创", "最重要", "最佳", "最高", "天猫", "首发",
    "最自然", "最好 最舒适", "最重要", "最小值", "最高", "最实用", "首家", "防止宝宝皮肤过敏",
    "最高", "最科学", "最前沿", "最轻便", "之王", "最具活力", "最喜欢", "最完美", "首家 最先进 最大 最高",
    "首选","最佳独有极致", "最温暖", "最健康", "最体贴", "最接近", "最理想", "最高", "最幸福", "最合体", "首创", "最有机",
    "极致 最好", "最先进 之首", "最轻松", "最值得", "最容易", "最安全舒适", "独家研制", "独家设计", "最清凉", "最强", "最天然 首选", "最极致",
    "顶级 独家", "最天然 首选", "最均匀   最均衡", "最简洁", "最经济", "最实用", "最具魅力", "最真实", "最大", "促进脊椎发育",
    "最权威", "NO.1", "最温柔  最细腻", "最为", "最新独一无二", "最干净", "史无前例", "违规对比贬低", "首发", "最长", "首家","最新",
    "最多最大", "最闪亮", "顶级 极致", "最符合", "最方便", "最大限度；最佳", "最娇嫩", "最低", "顶级", "顶级", "防敏", "首选",
    "去皱","愈合伤口", "首家独创", "最深层", "最细腻", "时下最HOT", "最高 最接近", "最有保障", "最纯净", "极致","最佳", "最密集", "最贴合",
    "最新研究", "最知名", "首个", "独有","清除自由基", "最顶级", "国家级", "最小", "最大化", "最大程度", "特级"
    ]
    #违规宣传功效、疗效、医疗用语
    keywords2=[
    "清热解毒", "增进大脑细胞的发育", "促进骺软骨组织的重新排序", "预防湿疹", "镇静", "催眠", "镇咳", "增食欲", "镇静", "催眠效果", 
    "镇咳", "增食欲", "缓解疲劳等", "防敏", "舒缓眼部疲劳", "防空调感冒", "促进恶露排净", "普通食品禁止宣传功效", "舒缓肌肤炎症",   
    ]
    #违规宣传功效、疗效、医疗用语
    keywords3=[
    "超级", "促进生长发育","治疗慢性病","抗癌","调节身体酸碱度","清楚血液垃圾","增高","药到病除","退款","祛病益寿"
    ]
    #专利
    keywords4=[
        "专利","会员","返现","返利","好评","100%","假一罚","仅此一次","随时涨价","最后一","国家级","王牌","国家级","全球级",
        "首个","首款","世界级","王牌","国家","领先","史无前例","永久","万能","祖传","特效","点击领奖","恭喜获奖",
        "全名免单","点击有惊喜","随时涨价","随时","仅此一次","马上","质量免检","免抽检","老字号","中国驰名商标",
        "特供","专供","免单","返优惠券","返红包","验证","让利","清仓","代理","红包","同款","领","返","最低"
    ]

    results = []
    # 通过pd.read_csv读取CSV文件
    df = pd.read_csv("./jd_info_with_result.csv", encoding='utf-8')
    # 重置DataFrame的索引
    df.reset_index(drop=True, inplace=True)
    # 遍历每一行
    for index, row in df.iterrows():
        row_values = row.iloc[1:].tolist()  # 将除第一列以外的所有值转换为列表
        found_keywords = []
        # 遍历当前行的每个元素
        for text in row_values:
            if isinstance(text, str):  # 检查元素是否为字符串类型
                found_keywords.extend(check_keywords(text, keywords1))
                found_keywords.extend(check_keywords(text, keywords2))
                found_keywords.extend(check_keywords(text, keywords3))
                found_keywords.extend(check_keywords(text, keywords4))

        if found_keywords:
            # 将关键词列表转换为字符串
            keywords_string = ', '.join(found_keywords)
            results.append([keywords_string])
        else:
            results.append([''])

    # 将结果添加到原始CSV文件
    df['关键词'] = results

    # 筛选出结果不为空的数据
    non_empty_results_df = df.dropna(subset=['关键词'])

    # 写入新的CSV文件
    non_empty_results_df.to_csv("./jd_info_with_result_filtered.csv", index=False, encoding='utf-8')






if __name__ == "__main__":
    main()
